package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.label.*;
import com.battle.pojo.vo.label.*;

import java.util.List;


/**
 * 【描 述】：标签服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface LabelService {

    /**
     * 创建标签
     *
     * @param param
     */
    void createLabel(CreateLabelParam param);

    /**
     * 修改标签
     *
     * @param param
     */
    void editLabel(EditLabelParam param);

    /**
     * 移除标签
     *
     * @param id
     */
    void removeLabel(Long id);

    /**
     * 启动/禁用标签
     *
     * @param id
     */
    void enabledLabel(Long id);

    /**
     * 获取标签详情
     *
     * @param id
     * @return
     */
    GetLabelVo getLabel(Long id);

    /**
     * 获取标签列表
     *
     * @param param
     * @return
     */
    PageResult<GetLabelListVo> getLabelList(GetLabelListParam param);


    /**
     * 获取标签下拉列表
     *
     * @param param
     * @return
     */
    List<GetLabelDownListVo> getLabelDownList(GetLabelDownListParam param);


    /**
     * 清洗这个label是否系统
     */
    void updateLabel();

}